Error correcting system



Feb. 23, 1960 D. sLEPlAN ERROR coRREcTlNc SYSTEM 4 Sheets-Sheet l FiledAug. 24, 1955 M/VENTOR D. SL EP/AN @VIC/sa A T TOR/VE Y Feb. 23, 1960 D.sLEPlAN ERROR coRREcTrNG SYSTEM 4 Sheets-Sheet 2 Filed Aug. 24 1955 Ihm.

/NvE/vof? D. SLEP/AN 20M (1 @sa A 7` TORNEV Feb. 23, 1960 4 Sheets-Sheet3 Filed Aug. 24. 1955 CORRECTION CAPABILITIES oF VARIOUS "ALPHABETS"ATTORNEY 4 Sheets-Sheet 4 D. sLEPIAN ERROR coRREcTlNc SYSTEM Feb. 23,1960 Filed Aug. 24, lss

PARITY CHECK POSITIONS FOR ALPI-IABETS 0F FIGA /NVENTOR D. SLEP/ANaja/1^ 720.91

ATTQRNEY ERROR CORRECTING SYSTEM David Slepian, Morristown, NJ.,assignor to Bell Telephone Laboratories, Incorporated, New York, N.Y., a

corporation of New Yo'rl L Appiication August 24, 1955, Serial No.550,278 s clams. 11:1.- ue-zsi e This invention relates to codetransmission systems, and more specifically to apparatus for and amethod of correcting errors in transmitted code groups. The *principalobject of the present invention is the simplification of such systems.

In the field of digital computers and in pulse systems for thetransmission of signal information,` binary code groups or codesequences are frequently employed. These binary code sequences may .takethe form of trains of positive and negative electrical pulses, forexample, and are represented in writing by the symbols and "1. When thesystem is subject to errors or distortion, the code sequences may bedivided into information digits and check digits to permit correction oferrors at the receiver. A

As disclosed in R. W. Hamming and B. D. Holbrook Patent 2,552,629,granted May 15 1951 (Reissue 23,601), the check digits may be fixedlinear combinations of the information digits. At the receiver, the samelinear combinations of information digits arek 'compared withcorresponding check digits, and the resulting check sequence may beemployed to determine which of the information and check digits in thereceived code `sequence are in error. This information may in turn beemployed to correct or verify the receivd information digits.

In accordance with the present invention, the possible erroneous codeseqnencesare classified mathematically nited States y Patnt i' intocosets in accordance with a coset leader or fact tor by which eachincorrect .code sequence Yin the particular coset must be multiplied toproduce the corresponding correct code sequence. `In the simplified codecorrector employing these principles, check sequences are identifiedwith specific coset leaders, and the information digits of the receivedcode sequences are corrected directly byl multiplieation .by theappwpriate coset leader.

In the correcting systems of the prior art, it is customary to correctsingle errors in code sequences. When there is a high rate of error inthe transmission of coded data, however, it may be desirable to correctmultiple errors.

Accordingly, a collateral Object of the present invention is the optimumcorrection of multiple errors in code sequences. n

In generaL'th'e principles ofthe invention as set forth above areapplicable to systems employing code seqllcnces having. an arbitrarynumber of information v*and check digits. However, the present inventionis particularly applicable t9 SystemsA having code Sequences With Suint'sheck digits t0 permit the cofrec'tin' of more than one error in the'transmitted' code group. Thus, for example, correcting systems aredisclosed which correct all single errors in the received codesequences, andv as many multiple errors as is theoretically possible inView of the relative number ofv checlc digits and in- ,formaties disie-An imperia 1t advantage Off .the present correcties System is `that it"is the bestV possible detection systemin the sense that. no otherpgssible detection scheme givesa greater`p,robabiiityv bf properlycorrectingV received code lsequences.

Other objects and various advantages and features of the invention `willbecome apparent by reference to the following detailed description takeninconjunction with the appended claims and the accompanyingdrawingsforminga part thereof.k i

` In the drawings:

Fig. 1 is a diagram indicating the probabilities that transmittedbinary'signals will be received correctly;

Fig. 2 is a portion of a self-correctingv signalling system showing thetransmitter andthefreceiving registers;

Fig.y 3 shows the balanceof the self-correcting'isignalling system,including the checking YandcorrectingA circuits. .t v

Fig. 4 is a table indicating the number of singleand multiple errors forvarious designated AalphabetsfandJ Fig. 5 is a table indicating theparity check'positions for preferred alphabets.

By way of introduction to the detailedk description of the invention, asimple two-digit signalling code will now be considered. When onlytwovbinary information digits are employed, the four possible signallingcornbinations are: 100, 10, 0l and 1l. Under ideal signallingconditions, the signal which istransmitted is received in its originalYform. For the purposes of the present invention, however, it is assumedthat the transmission channel is subject to substantial noiseordistortion.

Fig. 1 indicates graphically the probability that a ,l'? will bereceived as'a'0 andvice versa.. As shown. in Fig. l, a transmitted "0 isreceived as a "0 with probability q, and is received as a 1 withprobability p',-, 1.-q. The channel is assumed to be symmetrical, sothat a transmitted l is received asV a l with probability q and isreceived as O with probability prfli-g. The range of p of interest isthat in which p 0, indicating that there is some probability oferroneous transmission, and in which p l/2 which means that theprobability of correct reception Yof a given symbol `is greater thanfifty percent.

" Under adverse signalling conditions,v such as those indicated in thepreceding paragraph, the fonr code sequences Q0, l0, 0l andjll mentionedaboye'could easily be received incorrectly. To check the accuracy oftransbol indicates a binary sum, with any carry being dis'- carded. Thecode sequences in the first row below illustrate the principles setforth in the preceding paragraph.

TABLE 1 0000 1011 0101 1110 (alphabet) 0100 1111 0001 1010erroneonscqvie 0010 1001 t 0111 1100 sequencesY 1000 0011 1 1101 0110(eosets). Cose-t leaders 1111 Table I, the first two digits of each ofthe code seiqu'ences in the top row are/the information digits, `'andcorrespond to our' original two-digit signalling codeA sequences: 00,l0, 01' and' 11;. The'- second two digits in each code sequence of thetop row :are the parity check digits, and are determined as indicated inthe preceding paragraph.

All of the sixt een possible combinations of four binary digits areshown in Table I. The four meaningful signalling sequences in the toprow are termed a group alphabet. The group alphabet shown in Table -Ihas four letters, or codesequences. The twelve erroneous code sequencesare listed in three rows or cosets below the four letters of the group.alphabet.

In setting up Table I, the meaningful code sequence or letter having theleast number of ls is placed to the left. The-weight of a sequence `isdefined as the number of "1s. in the sequence. Accordingly, the rstletter of the alphabet, 0000, has the least weight.

In the example of Table I, the erroneous code sequences or cosets aredeveloped by taking an .erroneous code sequence of minimal weight, suchasrOlOO, which does not appear in the alphabet of the first row, andmultiplying achvof the letters of the alphabet by it. The product oftwo` n-place binary sequences 11,112 an and b1, b2 buis defined asali-bl, azi-b, 11,41%, where ,thcsymbol ,-lindicates la binaryadditionoperation in whichthe carry isA ignored, as mentioned above.'Ihe resulting series of sequences is termed a coset, and the firstsequence of each coset is termed the coset leader. For example, in TableI the sequence 0100 is the coset leader of the coset 0100, 1111, 0001and 1010. It should also be noted that each sequence in the cosetdiffers in only one place from the letter at the top ofthe column inwhich the sequence appears. Thus, for example, sequence 0001 ,was formedby multiplying .the letter 0101 by the coset leader k0100, and sequence0001 therefore differs from letter 0101 only in the second place. Theother two cosets were developed in a similar manner by 'multiplying theletters ofthe group alphabet by the coset leaders 0,010 and 1000. Eachnew coset leader is chosen as a sequence of minimal weight which is notyalready included in the coset table.

, When the transmitter sends one of the yfour letters in the top row ofTable I, an error may be introduced in transmission, and one of thetwelve erroneous code sequences may be received. When an erroneous codesequence is received, it is desirable to determine which code sequencewas most likely to have been sent, and to correct the error. This isaccomplished by determining the coset in which the received sequencefalls, and then multiplying the received sequence by the appropriatecoset leader to produce the letter heading the column in which Athereceived sequence appears. Thus, if the sequence 0111 is received, it ismultiplied by the corresponding coset leader 0010 to produce the letter0101. Checking this operation lfrom a physical standpoint, it may benoted that the se- `quence 0111 is more nearly like the code sequence0101 than the other three letters 0000, 1011, or 1110 of the alphabet.The mechanical process therefore selects the letter which is the onewhich was most likely to have been sent-by the transmitter.

In selecting the appropriate coset leader for a given received sequence,parity checks are performed on the sequence which are similar to thoseby which the check digits were developed. Specifically, it will berecalled that with lthe four digits of the code sequence being identiedas al, a2, a3 and a4, the check digits were developed as follows:a3'=a1, and a4=a1'|a2. The received group is now subjected to a paritycheck which may be thought of as a determination of the validity of theparity check by which the check digits were formed. This is accomplishedby adding the check digit to the digits which determined its value.Thus, where b1, b2, b3 and b4 are the digits of the received code, b3 isadded to b1 to form the rst digit of a parity check sequence, and b4 isadded to b1 and b2 to form the second digit of the check sequence. Thisis expressed mathematically as follows:

s where c1 and c2 are the two digits of the parity cheek sequence.

If the received sequence is one of the letters of the alphabet of TableI, the parity check sequence c1, c, will be 00, and no change will berequired. All of the possible values of the parity check-sequence c1,c2, together with the corresponding coset leaders, are listed below:

Accordingly, after determining the parity check sequence, the receivedsequence is corrected by multiplication by the appropriate coset leader.

In the preceding paragraphs aparticular four-letter, four-place groupalphabet and a method of correcting erroneous sequences 'wereconsidered. Some of the properties of generalized K-letter, n-placealphabets will now beconsidered. As illustrated by the alphabetv in theupper row of Table I, a K-letter, n-place binary signalling alphabet isa collection of K distinct sequences, or letters, of n binary digits.The integer K is termed the size of the alphabet. When there are kinformation digits in each n-place letter of an alphabet, the size ofthe alphabet K is equal to 2k. Thus, for example', in the alphabet shownin the top row of Table I, the first two. digits were information digits(k=2), and the. four possible combinations of the two information digitsdetermined the size of the alphabet (K=4). Y

Inv developing the letters of the alphabet which appear in the top rowof Table I, all possible combinations of thev information digits wereformed, and then the two parity check digits were added. When thisprocedure'is followed for code sequences having any arbitrary number ofinformation digits k and total digits n, the resulting n-place binarysequences form (when multiplication is defined as mentioned above) whatis known mathematically as an Abelian (or commutative) group of order2n. The properties of such a group may be listed as follows, where A, Band C are elements (rz-place sequences in the case under consideration)of the group:

(1) A`(BC)=(AB)C, which is the associative law.

(2) The product of any two elements of the group is again one of theelements of the group.

(3) There exists an identity element I such that for every element Ainthe collection. v

(4) For every element A in the collection, there is an element A1, suchthat (5) An abelian group satisfies AB=BA for all A and B in thecollection.

A more detailed discussion of Abelian and other groups is presented in atext entitled The Theory and Applications of Finite Groups by G. A.Miller, H. F. Blichfeldt and L. E. Dickson, G. S. Stechert and Co., NewYork, 1938.

Now that a specific simple example of the correction method has beenconsidered, a more general analysis of group alphabets will bedeveloped. In the following analysis, the notation (n, k)alphabet willbe used to designate an alphabet in which n represents the total numberof digits, and k represents the number of information digits in eachcode sequence. The 2n different n-place binary sequences form an Abeliangroup to be designated Bn. Every (n,k)alphabet is a subgroup of thisgroup.

let. the letters of a specilic (n, k)- alphabet be A=,I=00 0,113,113Algwherelisthe identity aaaaarit where In .the array (3), every elementof Bn appears Once and only once. The collection of elements in any rowof this array is a coset kof the (n, kk)alphabet. Sp2 is any element ofBg which does not`appear in the rst row of the array; S3 is any elementof Bn not in the first two rows of the array, et cetera.- The elementsS2, S3, Sv appearing under the identity element I in the array En arethe coset leaders. i

If a coset leader is replaced 'by any element in the coset, the samecoset vwill result. 'That `is to say, the following two collection ofelements are the same-r As mentioned above, the Weight .w,=w(T,) of'anelement T1 of Bn is deiined as the number of ,ls Iin the n-place binarysequence T1. Henceforth, the leader of each' coset shall be taken to bean element of minimal weightv in that coset. Such a table will be calleda standard array. The array of Table I, for example, is such a standardarray.

The' operation of a detector and corrector for an (n, k)-alphabet willnow be considered. When any letter, for example Aj, of the alphabet istransmitted, the received sequence can be any element of Bn. If thereceived element of Bn lies in colum i of the array (3), the detectorprints the letter Ai, i=l, 2, fr. It is now assumed that the array 1(3)is a standard array, and therefore that the coset leader of each row isthe minimal weight element of the coset.

The measure of the quality of -a correction system is the probabilitythat the correction system will produce the code sequence which wasoriginally transmitted. We will define the probability l1=l(T,) of 'anelement T1 of Bn to be where p and q are as indicated hereinabovein-connecton with the description of Fig. 1, and w, is the weight of T1.Let Qi, i=1,2, ,u be the sum of the probabilities of the elements in thethcolumn of the Istandard array (3). Under these circumstances, thePFCbability that 4any transmitted letter of the (n, k)alpha bet ,beproduced correctly by the detector is Q1. A detector which operates asindicated in the preceding paragraph is a ymaximum likelihood detector.That is, for a given alphabet no other detection scheme has a greaterverage'probability that a transmitted letter will be produced correctlyby the detector. l

In studying the properties of error correcting systems, it is oftenuseful to introduce a geometric model. For example, we may `consider theelements of the array (3) as the vertices of a cube of unit edge in aEuclidean yspace of n dimensions. For example, the tive-place sequence0, '1, 0, 0,'1 is associated with the point in a five-dimensional spacewhose coordinates are (0,111, 0, 0, l). More generally, the choice of 'a.l-letter, n-place alphabet corresponds Vto designating K particularlvertices as` letters. Since the binary sequence corresponding .to anyvertices can be produced by the .channel output, the detector mustvassociate -various vertices Yof -the cube with the vertices designated'as letters of the alphabet.

Every vertex will, in fact, be asociated with some letter. The verticesof the cube are divided into disjoint sets, W1, W2, WK where W, is theset of vertices associated with the letter of the signalling alphabetdesignatedA i. A maximum likelihoodreceiver is characterized bythe factthat every vertex in W, is as close to or closer to the letter i than toany other letter. For group alphabets and the detector specifiedhereinabove, this means that no element in column of array (3) is closerto any other letter A than it is to A1.

It may also `be shown that the maximum likelihood sets of vertices W1,W2, Wu are all geometrically similar. Loosely, this rneans that in an(n, k).alphabet every letter is ltreated the same. Every two lettershave the same number of nearest elements associated with them, `theVsame number of next nearest elements, et cetera. -ln'addition, thedisposition of points in any two W regions fis the same. This means thatevery transmitted code sequence of an (n, k)alphabet has the sameprobability of being decoded correctly, and is considered to beiasignificant feature of the invention.

'There are certain equivalences in groups which are useful in reducingthe combinations which must be studied in determining the properties ofgroups. For example, two group alphabets are called equivalent if onecan be obtained from the other by a permutation of places. it mayreadily be shown that equivalent (n, k)-alphabets have the'sameprobability Q1 of correct transmission for each letter. AIn addition,every (n, k).alphabet is equivaient to an (n, k) -alphabet the first kplaces of which are information places, andthe .last n-k-places of whichare determined'lby parity ,checks overl the lirst k places. Accordingly,we may henceforth limit our considerations to (n, k)alphabets whosefirst k places are information places, with no loss of generality. Theparity cheek rules .Canteen .be written fellows;

where the sums are binary sums with ,any carry being discarded. Here,as'before a ytypicalletter of the alphab et the sequence ,alaz an. 'The71j are k(n-k) quantities, zero or one, that serve to define' theparticular (n, 1 0-alphabet in question.

For lany element T, of Bn the lsum given at the lright of Equation 5 canbe formed. This sum may or may not agree with the symbol in the checkplace designated i of the element T. If it does agree, Tis said tosatisfy the parity check in this place, otherwise T fails the paritycheclf: for this digit position. `When a set of parity Vcheck rules `(5)is given, an (n-k)-p1ace vbinary sequence RCF) may lbe associated witheach element T of Bn. This is accomplished by examining each check placeof T in order, starting with the yfirst check digit position of T. A Qis written inf-ga place of T satisfies the parity check.; a 1 is writtenifa place fails the parity check. The resultant sequence of Os and lswritten from left to right is R(T). We call R(T) the parity checksequence of T. The method of forming a parity check sequence wasindicated by Equation l, and representative check sequences for elementsin Table I were shown at (2). When the check rules are followedsystematically, all of lthe elements in `a given row orcoset of Bn havethe vsame check sequence, Y and this check sequence will be differentfrom that of nthe elements of any other row. This was shown yin detailhereinabove for a (4, 2)-alphabet at (2), and can be proved true for ageneral (n, k)- alphabet as well.

The probability ,Q1 that a transmitted letter be produced correctly bythe detector is the sum,

atei-.Mao

where a, isv the number ofvcos'et leaders of weight It follows that2a,=%v=2?*k for an (n, k)alphahet. `Also',

since this is the number of elements of Bn of weight i. The oq have aspecial physical significance. Due to the noise on the channel, atransmitted 'letter,-A1', 0f an (n, k)alphabet may in' general bereceivedfat the channel output as some element T of Bn diiferentfromAl.If '-I differs from A, in s places, i.e., if w(AT)-s, we say that ans-tuple error has occurred. For a given (n, k) alphabet, al is thenumber of i-tuple errors which can be corrected by the alphabet'inquestion,where i may be any integer from vzero up to rthe total numberof digits in each sequence(`=0, 1, 2, n).

Fig. 4 gives the a, corresponding to the largest possible value of Q1for a given k and 'n for k=2, 3, n-l, 11:4 10 in'addition to'a few otherscattered values of n and k. For reference, the binomial` coel'licientsare also listed. For example, it is shown in Fig. 4.that the best groupalphabet with 24=l6 letters.4 that uses n= places has aprobablity 'ofc'orrecttransmission Q1=q1+ I0q9p+39qp2+ 14'q'1p3. The, alphabetcorrects all ten possible single errors. 'It corrects thirty-nine of thepossible a ff i (131:45

double errors (second column of Fig. 4), and in addition correctsfourteen of the o nehundred and twenty triple errors. By adding anadditional place tothe alphabet, one obtains with the best (11,4)al'phabet an alphabet with sixteen letters that. corrects all elevenpossible single errors and all fifty-fivev possible double errors aswell as sixty-one triplev errors. Such an alphabet is applicable to acomputer representing decimal numbers in binary form.

For each set of as listed in Fig. 4, there is in Fig. 5 a set of paritycheck rules which determines an (n, k)- alphabet having the given as.The notation used on Fig. 5 is best explained by an example. A (10,4)alpha bet which realizes the as discussed in the preceding paragraphcan be obtained as follows. Places 1, 2, 3, 4 carry the information.Place 5 is determined to make the binary sum (disregarding carries) ofthe entries in place 3, 4 `and 5 equal to zero. Place 6 is determined bya similar parity check on places 1, 2, 3 and 6; place 7 by a check onplaces 1, 2, 4 and 7, et cetera.

For all cases which have been investigated, an (n, k)- alphabet best fora given value of p is uniformly best for all values of p,

' 1 osps It is therefore considered probable that this is true for all nand k.

The cases k=0, 1, n-l, n have not been listed on Figs. 4 and 5. Thecases k=0 and k=n are completely trivial. For k=1, all n l the bestalphabet is obtained using the parity rule a2=a3= =an=a1. If n=2,

where ris some integer, and a1+2=a,+3= =a=0, then there does not exist a2k-letter, n-place alphabet of any sort better than the given (n,k)alphabet. It will be observed that -many of the as of Fig. 4 are ofthis form. It can be shown that if lL-k n b T)+(T)22 1 there. exists no'2kletter, n-place alphabet betterthan the best (n, k)alphabet. -When-theabove inequality holds theavfs are-either :1, d1= 2nk-1, all other a=0;or

Olllni=l1l cerf 2"f"- 1 ail other =`o; 'o'r the trivia1a0=1 au other =owhich holds-when k=n. The region of the n-k plane for which it is knownthat (n, k)alphabets cannot be excelled by any other is shown on TableII.

I t TABLE II Region of the n-k plane for which it is known that (n,k)alphabets'cann0t be excelled v (information digits) n (Total digits)-Thus, by reducing the signalling rate by one-half, a more than onehundredfold reduction in probability of error is accomplished. 1

A (l0, 5)-alphabet to achieve these results is given on Fig. 5. Atypical letter of the alphabet is represented by the ten-place sequenceof binary digits alaz agam. The symbols a1a2a3a4a5 carry the informationand can be any of thirty-two different arrangements of "0s and TABLE IIICose! leaders and parity check sequences for a lten-digit alphabet withfive information `digits creatinine-)S ciczcacic--iS A maximumlikelihood detector for the (l0, alphabet in question Vforms from eachreceivedsequence blbz bm the parity check symbol clcgcactc wherebibzbabii'obi if the parity check sequence is 11011, 11001, `1,-1'0310;and

finally, the detector prints b1b2b3b4(b5+il') if the .parity checksequence is 11101 .or 11.100.

Figs. 2 and 3 show "a complete data transmission system for a (l0, 5)-alphabet. The embodiment shown in Figs. 2 and 3 is a relay and switchform of the circuit. VIt is to be understood, however, that the samecircuit can readily be instrumented electronically. In addition, thedigits of each code sequence could readily be transmitted successivelyover a single channel, rather than in parallel over several channels asindicated `in Figs. 2 and 3.

From an over-all standpoint, itmay be noted that the blocks enclosedindashed-dot Vlines in Figs. 2 and 3 form a block diagram yof `anlillustrative yembodiment of Vthe invention. Thus, in Fig. .2, .the`transmitter lincludes theinformation digit .register 11 and thetransmitter-.check digit encoder 12. The data transmission channels areshown at 21 through .30 in Fig. v2 Vinterconnecting the transmittercheck dgitencoder 12 and the receiver digit .to i

Y 10 register 31. The remainder of the receiver is shown in Fig. 3.These receiver'circuits include the receiver check sequence circuits 35,the coser leader identification circuit 36, and the correction circuit37.

In Figs. 2 and 3, the flow of information between major circui-talblocks is indicated by the dash-dot arrows and the supplemental legendsin Fig. 3 indicating connections between Figs. 2 and 3. Thus,jforexample, the information registered in the relays in block 1l of Fig. 2controls circuits in block 12. In a similar manner in Fig. V3, thearrows and legends indicate the connections from the receiver digitregister 31 to the check sequence circuits 35 and the ,connectioncircuit 37. The dashed line arrow between kcircuits 35 and 36 indicatesthe derivation of the coset leader digital signals from the checksignals. Similarly, .the arrow between blocks 36 and 37 represents the vcorrection action provided by the coset leader signals in theirinteraction with the received information digit signals.

`For ease in interpreting the schematic diagrams of Figs. 2 and 3, therelay contacts and the relay structure which makesor breaks the contactsare not associated with each other. However, in nearly every instance,the contacts of a given relay are shown in the next subsequent block ofthe system following that in which the relay structure appears, Themethod of relay representation used herein follows in part the drawinganalysis described lby Claude E. Shannon in A Symbolic Analysis of Relayand Switching'Circuits published in the Translations of the AmericanInstitute of Electrical Engineers, volume 57, page 713. The schematicsymbols employed `in accordance with the method `of analysis used hereinare briey explained as follows: each rectangle represents a relaywinding and structure, excepting the contacts actuated `bythatstructure. A set of make contacts is shown `by two short crossed'lines through the joining point of which passes a solid -linerepresenting the connecting leads tov the set of make contacts. ,A set.of break contacts is `shown by a short line, through the `midpoint ofwhich passesV asolid line representing the connecting leads to Vthe setofvbreak contacts. vThe capital letter or numeral or combinationsthereof within each rectangle identities a particular relay, and thelower case letter or numeral or combinations thereof adjacent a set ofcontacts identifies a set of contacts operated by the relay bearing thecapital letter and/or numeral designation. Thus, a set of contacts drawnis a make set Von -relay M2, and one drawn `vidual switches yS1 throughS5 in the transmitter information digit register` 11. The closure of theswitches S1 through S5 actuates the relays M1 through M5 correspondingto the 'switches whichare closed.

The principalfunction .of the circuit included in the i block-designated 12 in Fig. 2 is Vthe encoding of the check digits. Thisfunction is accomplished by the circuit located in `the lower portion ofblock 12. The channels interconnecting. the .transmitter and thereceiver are desighated 21 through 3,0. Pulses are applied to channels21 through 25 by the .closure of contacts m1 lthrough m5 when individualswitches S1 through S5, respectively, are closed. Output pulses areapplied to individual ones of the ,channels 2,6 through 30 if theappropriate parity check rulesset forth `above at 1(6) are satisfied.Thus, for example, we have seen in the last equation listed under `(.6)that the digit am is a l when an odd number of fls are d1f1 present inthe information digit spaces a1 through' a5. Similarly, it may beobserved that channel 30 is only energized when an odd number of thecontacts m1 through m5 are closed.

The digit register 31 at the receiver includes the ten relays B1 throughB10 corresponding to the ten digits in each code sequence which istransmitted. The circuit shown in block 35 of Fig. 3 corresponds to theformation of the check digit sequence indicated mathematically in theEquations 7. Thus, for example, we have seen in the last equation at 7that the last digit c5 of the check sequence is a l only if there is anerror in transmission. That is, if the parity check digit au, wascorrectly transmitted as a l when an odd number of the informationdigits a1 through a5 were also ls, the last digit c5 of the checksequence should be a O. The relay C5 in block 35 of Fig. 3 should thenremain deenergized. An examination of the contacts b1 through b5 and bmin the energization circuit of Vrelay C5 clearly shows that relay AC5will be deenergized when an odd number of the five relays B1 through B5are energized concurrently with the energization of relay B10.

The circuit 36 of Fig. 3 associates particular receiver check sequenceswith the appropriate correction sequences corresponding to the cosetleader of the coset into which the received code sequence falls. Theenergization of relays F 1 through F5 represent the correction sequencewhich is, in fact, the first five digits of the appropriate cosetleader. The control circuits for the relays Fl through F5 implementTable III. Thus, for any given check sequence c1c2c3c4c5 of Table III,relays -Fl through F5 are energized in accordance with the first fivedigits of the coset leaders S of Table III. The circuit in block 37multiplies the correction sequence and the first five information digitswhich have been received. The resultant corrected code sequence appearsas the illumination of'light bulbs 41 through 45.

It is to be understood that the above-described arrangements areillustrative of the application of the principles of the invention.Numerous other larrangements may be devised by those skilled in the artwithout departing from the spirit and scope of the invention.

What is claimed is:

l. In a self-correcting information system subject to severe distortion,means for transmitting binary co'de sequences each having n digitsincluding k information digits, where ZCI-k) is greater than n-l-l,receiving means for registering information and check digits, means foridentifying a correction sequence corresponding to any of 2(11-1)different combinations of errors, and means for correcting the receivedinformation digit sequence in accordance with said correction sequence.

2. In an information' system subject to distortion, means fortransmitting binary code sequences each having n digits including kinformation digits, where 2(11-1) is greater than n+1, receiving meansfor registering information and check digits, means for forming a paritycheckV sequence from said received digits, means for identifying acorrection sequence associated with the class of errors indicated bysaid parity check sequence, and means for multiplying thereceivedinformation digit sequence by said correction sequence.

3. In combination, means for registering five information digits formingpart of a code group to be transmitted, means for forming five differentlinear combinations of digits selected from said five informationdigits, means for registering tive check digits corresponding to saidlinear combinations to constitute the remainder of said code group,means for transmitting said code group, means for registering a receivedcode sequence, means for checking the validity of the linearcombinations by which the five check digits were formed and forming acorresponding five-digit check sequence, means for identifying a cosetleader associated with the class of errors indicated by said checksequence, and means for multiplying the information digits of saidreceived code sequence directly by the corresponding digits of saidcoset leader. f

4. In combination, means for registering k information digits formingpart of an n digit code group to be transmitted, means for forming n-kdifferent linear co'mbinations of digits selected from said kinformation digits, means for registering n-k check digits correspondingto said linear combinations to constitute the remainder of said codegroup, where 2(11-1) is greater than n+1, means for transmitting saidcode group, means for registering a received code sequence, means forchecking the validity of the linear combinations by which the n-k checkdigits were formed and forming a corresponding n-k digit check sequence,means for identifying a coset leader asso'ciated with the class oferrors indicated by said check sequence, and means for multiplying theAinformation digits of said received code sequence directly by 'thecorresponding digits of said coset leader.

5. In an error correction circuit for correcting all of the singleerro'rs and at least some multiple errors in code groups each includinga total of n digits, means for registering k information digits formingpart of said n digit code groups, where 2(11-1) is greater than n+1,means for forming n-k different linear combinations of digits selectedfrom said n digits, the number of digits included in said linearcombinatio'ns being less than n-l digits in each case, means forregistering n-k check digits corresponding to said linear combinationsto constitute the remainder of said code group, means for transmittingsaid code group, means for registering a received code sequence, meansfor checking the validity of the linear combinations by which the n-kcheck digits were formed and for forming a corresponding n-k digit checksequence, means for identifying the correction sequence portion of acoset leader associated with each of Zul-k) different classes of errors,and means for multiplying the information digits of said received co'desequence directly by the corresponding digits of said correctionsequence.

6. In an error correction circuit for correcting all of the singleerrors and at least some multiple errors in code groups each including atotal of n digits, means for registering k information digits formingpart of said n digit code groups, where ZID-k) is greater than n+1,means for forming n-k different linear combinations of digits selectedfrom said n digits, the number of digits included in said linearcombinations being less than n-l digits in each case, means forregistering n-k check digits corresponding to said linear combinationsto constitute the remainder of said code group, means for transmittingsaid code group, means for registering a received code sequence, meansfor checking the validity of the linear combinations by which the n-kcheck digits were formed and for forming a corresponding n-k digit checksequence indicating each o'f 201-1) different classes of errors, andmeans for changing the information digits of said received code sequenceto a code group which is probably correct.

7. In an error correction circuit for correcting all of the singleerrors and at least some multiple erro'rs in code groups each includinga total of n digits, means for providing k information digits formingpart of said n digit code groups, where 20H0 is greater than n+1, meansfor forming n-k different linear combinations of digits selected fromsaid n digits, the number o'f digits included in each of said linearcombinations being less than n-l digits, means for forming n-k checkdigits corresponding to said linear combinations to constitute theremainder of 'said code group, means for transmitting said code group,means fo'r receiving a code sequence derived from said transmitted codegroup, means for checking the validity of the linear combinations bywhich the n-k check digits were formed and for forming a correspondingn-k digit check sequence, means for identifying the correction sequenceportion of a coset leader associated with any o'f Zul-k) differentcombinations of erroneous digits, and means for correcting theinformation digits of said received code sequence in accordance with theerrors identitied by said correction sequence.

8. In an error correction circuit for correcting all of the singleerrors and at least some multiple errors in co'de groups each includinga total of n digits, means for providing k information digits formingpart of said n digit code groups, where 20H0 is greater than n+1, meansfor forming n--k different linear combinations of digits selected fromsaid n digits, the number of digits included in each of said linearcombinations being less than n-l digits in each case, means for formingn-k check digits corresponding to said linear combinations to constitutethe remainder of said code group, means for transmitting said codegroup, means for receiving a code sequence derived from said transmittedcode group, means fo'r checking the validity of the linear combinationsby which then-k check digits were formed and for forming a correspondingn--k digit check sequence indicating each of 2(111) different classes oferrors, and means for changing the information digits of said receivedcode sequence to a code group which is probably correct.

References Cited in the le of this patent UNITED STATES PATENTS

